<?php

namespace Backoffice\Model\Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * Message
 *
 * @ORM\Table(name="message", indexes={@ORM\Index(name="FK_Message_Utilisateur_expediteur", columns={"expediteur"}), @ORM\Index(name="FK_Message_Utilisateur_destinataire", columns={"destinataire"})})
 * @ORM\Entity
 */
class Message
{
    /**
     * @var integer
     *
     * @ORM\Column(name="id", type="integer", nullable=false)
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="IDENTITY")
     */
    private $id;

    /**
     * @var string
     *
     * @ORM\Column(name="objet", type="string", length=30, nullable=true)
     */
    private $objet;

    /**
     * @var string
     *
     * @ORM\Column(name="contenu", type="text", nullable=true)
     */
    private $contenu;

    /**
     * @var \DateTime
     *
     * @ORM\Column(name="date_envoie", type="date", nullable=true)
     */
    private $dateEnvoie;
    
    /**
     * @var \Backoffice\Model\Entity\Utilisateur
     *
     * @ORM\ManyToOne(targetEntity="Backoffice\Model\Entity\Utilisateur")
     * @ORM\JoinColumns({
     *   @ORM\JoinColumn(name="expediteur", referencedColumnName="id")
     * })
     */
    private $expediteur;

    /**
     * @var \Backoffice\Model\Entity\Utilisateur
     *
     * @ORM\ManyToOne(targetEntity="Backoffice\Model\Entity\Utilisateur")
     * @ORM\JoinColumns({
     *   @ORM\JoinColumn(name="destinataire", referencedColumnName="id")
     * })
     */
    private $destinataire;
    
    /**
     * Constructor
     */
    public function __construct($id = null, $objet = null, $contenu = null, $dateEnvoie = null,
            $expediteur = null, $destinataire = null)
    {
        $this->id = $id;
        $this->objet = $objet;
        $this->contenu = $contenu;
        $this->dateEnvoie = $dateEnvoie;
        $this->expediteur = $expediteur;
        $this->destinataire = $destinataire;
    }

    /**
     * Get id
     *
     * @return integer 
     */
    public function getId()
    {
        return $this->id;
    }

    /**
     * Set objet
     *
     * @param string $objet
     * @return Message
     */
    public function setObjet($objet)
    {
        $this->objet = $objet;

        return $this;
    }

    /**
     * Get objet
     *
     * @return string 
     */
    public function getObjet()
    {
        return $this->objet;
    }

    /**
     * Set contenu
     *
     * @param string $contenu
     * @return Message
     */
    public function setContenu($contenu)
    {
        $this->contenu = $contenu;

        return $this;
    }

    /**
     * Get contenu
     *
     * @return string 
     */
    public function getContenu()
    {
        return $this->contenu;
    }

    /**
     * Set dateEnvoie
     *
     * @param \DateTime $dateEnvoie
     * @return Message
     */
    public function setDateEnvoie($dateEnvoie)
    {
        $this->dateEnvoie = $dateEnvoie;

        return $this;
    }

    /**
     * Get dateEnvoie
     *
     * @return \DateTime 
     */
    public function getDateEnvoie()
    {
        return $this->dateEnvoie;
    }

    /**
     * Set expediteur
     *
     * @param \Backoffice\Model\Entity\Utilisateur $expediteur
     * @return Message
     */
    public function setExpediteur(\Backoffice\Model\Entity\Utilisateur $expediteur = null)
    {
        $this->expediteur = $expediteur;

        return $this;
    }

    /**
     * Get expediteur
     *
     * @return \Backoffice\Model\Entity\Utilisateur 
     */
    public function getExpediteur()
    {
        return $this->expediteur;
    }

    /**
     * Set destinataire
     *
     * @param \Backoffice\Model\Entity\Utilisateur $destinataire
     * @return Message
     */
    public function setDestinataire(\Backoffice\Model\Entity\Utilisateur $destinataire = null)
    {
        $this->destinataire = $destinataire;

        return $this;
    }

    /**
     * Get destinataire
     *
     * @return \Backoffice\Model\Entity\Utilisateur 
     */
    public function getDestinataire()
    {
        return $this->destinataire;
    }
}
